package com.lion.ball.app.models.params.order;

/**
 * @author Chris Chan
 * Create on 2025-09-30 22:44
 * Use for: 订单 排序参数
 * Explain:
 * 
 */
public class TradeGoodsOrderOrderParam {
    // ID
    private int id;
    // 订单编号 雪花算法
    private int code;
    // 用户账号
    private int accountCode;
    // 关联商品编码
    private int goodsCode;
    // 实付价格
    private int price;
    // 订单创建时间
    private int time;
    // 订单状态 0 - 待付款, 1 - 待发货, 2 - 待收货,3 - 待评价,4 - 已取消
    private int orderStatus;

    // 无参构造方法
    public TradeGoodsOrderOrderParam() {
    }

    // 全参数构造方法
    public TradeGoodsOrderOrderParam(int id, int code, int accountCode, int goodsCode, int price, int time, int orderStatus) {
        this.id = id;
        this.code = code;
        this.accountCode = accountCode;
        this.goodsCode = goodsCode;
        this.price = price;
        this.time = time;
        this.orderStatus = orderStatus;
    }

    // 全参数create生成器
    public static TradeGoodsOrderOrderParam create(int id, int code, int accountCode, int goodsCode, int price, int time, int orderStatus) {
        return new TradeGoodsOrderOrderParam(id, code, accountCode, goodsCode, price, time, orderStatus);
    }

    // 全参数of生成器
    public static TradeGoodsOrderOrderParam of(int id, int code, int accountCode, int goodsCode, int price, int time, int orderStatus) {
        return new TradeGoodsOrderOrderParam(id, code, accountCode, goodsCode, price, time, orderStatus);
    }
    // region Getter和Setter方法
    public int getId() {
        return id;
    }

    public TradeGoodsOrderOrderParam setId(int id) {
        this.id = id;
        return this;
    }

    public int getCode() {
        return code;
    }

    public TradeGoodsOrderOrderParam setCode(int code) {
        this.code = code;
        return this;
    }

    public int getAccountCode() {
        return accountCode;
    }

    public TradeGoodsOrderOrderParam setAccountCode(int accountCode) {
        this.accountCode = accountCode;
        return this;
    }

    public int getGoodsCode() {
        return goodsCode;
    }

    public TradeGoodsOrderOrderParam setGoodsCode(int goodsCode) {
        this.goodsCode = goodsCode;
        return this;
    }

    public int getPrice() {
        return price;
    }

    public TradeGoodsOrderOrderParam setPrice(int price) {
        this.price = price;
        return this;
    }

    public int getTime() {
        return time;
    }

    public TradeGoodsOrderOrderParam setTime(int time) {
        this.time = time;
        return this;
    }

    public int getOrderStatus() {
        return orderStatus;
    }

    public TradeGoodsOrderOrderParam setOrderStatus(int orderStatus) {
        this.orderStatus = orderStatus;
        return this;
    }

    // endregion Getter和Setter方法
}
